The present invention relates to a method of generating and processing data by an interleave method capable of processing with a few memories in a digital recording and reproducing system using an optical disk or the like, a medium recording the data, and a data recording apparatus and a reproducing apparatus.
A storage capacity for every unit area becomes high with an improvement of the high density recording technique in a digital recording and reproducing apparatus to record and reproduce to/from such as an optical disk, a magnetic disk, and a magnetic tape. On the other hand, in the digital recording and reproducing apparatus, an occurring error can be corrected by adding an error correction code to the recording data against the error generation of the data by the defect of the noise and the medium.
Since more errors occur even if an error rate by the lowering of a signal component becomes worse and the defect with the same size occurs to the medium when the recording density becomes high, it becomes necessary to realize the error correction code having higher correction ability. Especially, the dealing with the continued large error (burst error) which occurs with the defect of the medium becomes important.
To improve the burst error correction ability, in addition to the method of using an error correction code with the higher error correction ability, there is an interleave method. An "interleave" method is a method of multiplying a plurality of data in which an error correction coding is performed by rearranging the data and the data of the identical error correction code are dispersed in a wide range. Since the error occurred continuously on the recording data series is dispersed by a plurality of error correction codes when performing an interleave, the burst error correction ability becomes high.
Here, the product code of the Reed-Solomon code (RS code) is used as the error correction code and the example in which an interleave is performed in four blocks will be explained.
The input data is divided by predetermined data unit to arrange in two-dimensional form and constitute a data block. An outer code parity produced by the coding of the RS code to each column data in the data block. An inner code parity is produced by the coding of the RS code to each row data. As a result, the error correction block is constituted from data block, the outer code parity and the inner code parity.
The four error correction blocks are arranged in the side direction according to the number of the interleave blocks. FIG. 1 shows a arranged data. Next, data is taken out from this block for each line and after rearranging data according to the necessity, data is output as a recording data.
Next, FIGS. 2A and 2B show an example of the interleave processing when using a memory. A memory is composed of a plurality of banks capable of storing the error correction block.
The input data is once written into the memory. If an error correction coding to the continuing the input data is performed, the writing to the bank A is stored and data for the one data block to be coded is written until period T3 in period T0. When the writing to the bank A is completed, the error correction coding processing to the bank A data is started in period T4. At the same time, the writing of the input data to the bank B is changed. Hereinafter, the error correction coding processing and the writing to the memory is sequentially performed.
The data in which an error correction coding is performed is read from the memory according to the interleave method. To perform an interleave processing in four blocks, the data must be read from four banks in parallel. Therefore, the read processing from the memory can not be started after period T20 when an error correction coding for the four-bank data from bank A to D is completed. When starting the reading of the interleaved data from period T20, the reading ends at period T35. During the reading period, the error correction coding processing and the writing of the input data are performed by advancing the banks.
The memory from the banks A to D which reading is completed becomes reusable after period T36. After the writing to the bank 1 is completed, the data can be written into the bank A from period T36. Therefore, the number of the minimum memory banks of necessary interleave processing becomes nine.
When the interleave processing is performed by above procedure, the writing to the one bank, an error correction coding to one bank and a reading from four banks are performed in an identical period. Each processing can be processed at the time division. On the other hand, when taking notice of the processing of one bank, for example, in case of bank A, a series of processing from period T0 to period T35 is periodically performed. However, no processing is performed in the one-third period of the periodically performed processing period. When taking notice of the use state of the bank in the identical period, three banks are not always used because of the processing wait. Therefore, the use efficiency of the memory is not sufficient, as a result, a lot of memories are required to process the interleave.
As described above, in the conventional interleave method, the error correction block of the number according to the number of the interleaves is combined and data is replaced in the combined blocks and the interleave is employed to strengthen the burst error correction ability. Therefore, when realizing the interleave processing using the memory, there is a problem the use efficiency of the memory lowers since the period which performs no processing occurs, as the result, the storage capacity necessary to process an interleave increases.